package com.zkingsoft.codeApi;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * 代码生成配置数据对象
 * @author Matrix-J
 *
 */
public class Configuration {

	/**
	 * 要生成模型的表
	 */
	private List<String> tablesName;
	
	/**
	 * 根据客户的选择生成表与类的对应
	 */
	private List<TableClassModel> tableClassModels;
	
	/**
	 * 根据客户的选择生成模型文件
	 */
	
	private Map<ModelType , TemplateModel> templateModels;
	/**
	 * 是否要生成文件
	 */
	private List<ModelType> isCreateTemplateModelType;
	/**
	 * 是否要生成文件
	 */
	private List<String> isCreateTemplateModelTypeStr;
	
	/**
	 * 是否要生成文件 的包名
	 */
	private List<String> modelPackages;
	
	/**
	 * 数据库地址
	 */
	private String url;
	/**
	 * 数据库名称
	 */
	private String dbName;
	/**
	 * 用户名称
	 */
	private String userName;
	/**
	 * 用户密码
	 */
	private String password;
	/**
	 * 驱动名称
	 */
	private String driver;
	/**
	 * 用户模板根目录
	 */
	private String userTempLataHome;
	
	/**
	 * 生成过程中产生 的信息 这个是私有的不能设置
	 */
	private List<Info> infos;
	
	
	public Configuration() {
		this.infos=new ArrayList<Info>();
	}
	
	public List<Info> getInfos() {
		return infos;
	}

	public List<String> getIsCreateTemplateModelTypeStr() {
		return isCreateTemplateModelTypeStr;
	}

	public void setIsCreateTemplateModelTypeStr(List<String> isCreateTemplateModelTypeStr) {
		this.isCreateTemplateModelTypeStr = isCreateTemplateModelTypeStr;
	}

	public List<TableClassModel> getTableClassModels() {
		return tableClassModels;
	}

	public void setTableClassModels(List<TableClassModel> tableClassModels) {
		this.tableClassModels = tableClassModels;
	}

	public List<String> getModelPackages() {
		return modelPackages;
	}

	public void setModelPackages(List<String> modelPackages) {
		this.modelPackages = modelPackages;
	}




	public List<ModelType> getIsCreateTemplateModelType() {
		return isCreateTemplateModelType;
	}

	public void setIsCreateTemplateModelType(List<ModelType> isCreateTemplateModelType) {
		this.isCreateTemplateModelType = isCreateTemplateModelType;
	}

	public void setInfos(List<Info> infos) {
		this.infos = infos;
	}

	public String getUserTempLataHome() {
		return userTempLataHome;
	}

	public void setUserTempLataHome(String userTempLataHome) {
		this.userTempLataHome = userTempLataHome;
	}

	

	public String getDbName() {
		return dbName;
	}

	public void setDbName(String dbName) {
		this.dbName = dbName;
	}

	/**
	 * 数据库类型
	 * 1、mysql
	 */
	private DataBaseType dataBaseType;
	

	public DataBaseType getDataBaseType() {
		return dataBaseType;
	}

	public void setDataBaseType(DataBaseType dataBaseType) {
		this.dataBaseType = dataBaseType;
	}

	public String getDriver() {
		return driver;
	}

	public void setDriver(String driver) {
		this.driver = driver;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public List<String> getTablesName() {
		return tablesName;
	}

	public void setTablesName(List<String> tablesName) {
		this.tablesName = tablesName;
	}

	public Map<ModelType, TemplateModel> getTemplateModels() {
		return templateModels;
	}

	public void setTemplateModels(Map<ModelType, TemplateModel> templateModels) {
		this.templateModels = templateModels;
	}


}
